//
// Created by 32827 on 2024/2/15.
//

extern "C" {
#include "user_task.h"
}
#include "yzl_ui_include_pp.hpp"

extern "C" YZL_Soft_I2C  l_i2c;
extern ViewDemo *viewDemo;;
extern "C" YZF_RESULT user_task_sr04_test(){
//    YZL_GPIO pc4_e={GPIO_PIN_4,GPIOC};
//    YZL_GPIO pc5_t={GPIO_PIN_5,GPIOC};
//    YLGPIO(pc5_t)
//    yzf_gpio_open_clock_();
//    yzf_gpio_set_PP_();
//    yzf_gpio_set_0_();
//    yzf_gpio_set_HIGH_();
//    YLGPIO(pc4_e)
//    yzf_gpio_open_clock_();
//    yzf_gpio_set_IN_FLOAT_();
//    yzf_gpio_set_0_();
//
//    delay_ms(500);
//
//    YLGPIO(pc5_t)
//
//    yzf_gpio_set_1_();
//    delay_us(50);
//    yzf_gpio_set_0_();
//
//
//    while (!(GPIO_ISTAT(GPIOC)&GPIO_PIN_4)){
//        __asm__("nop");
//    }
//    uint32_t t1=*yzl_clock_get()->us;
//    while (GPIO_ISTAT(GPIOC)&GPIO_PIN_4){
//        __asm__("nop");
//    }
//    uint32_t t2=*yzl_clock_get()->us;
//    double  d=(t2-t1)*340/(double)1000000;
//    char *bu= yzu_str_format("distance:%lf\n",d);
//    yzl_iconv_clear_ucs2_buf();
//    utf2ucs(yzl_iconv_ucs2_buf,bu);
//    yzl_ui_draw_rect(400,0,600,16,YZF_TRUE,BLACK);
//    yzl_ui_draw_string(400,0,600,yzl_iconv_ucs2_buf, yzl_iconv_ucs2_strlen(yzl_iconv_ucs2_buf),BLACK,WHITE);



//    YGPIO(GPIOB)
//    YPIN(GPIO_PIN_6)
//    yzf_gpio_open_clock_();
//    yzf_gpio_set_AFOD_();
//    yzf_gpio_set_HIGH_();
//    YPIN(GPIO_PIN_7)
//    yzf_gpio_set_AFOD_();
//    yzf_gpio_set_HIGH_();
//
//    gpio_af_set(GPIOB,GPIO_AF_4,GPIO_PIN_6);//端口复用为串口模式
//    gpio_af_set(GPIOB,GPIO_AF_4,GPIO_PIN_7);
//
//    yz_i2c_add7_high_open(I2C0,0x78,400000);

//    yzl_1306_soft_open(&i2c);
//    yzl_clock_delay_s(1);
//    yzl_1306_soft_light_level_screen(&i2c,128);
//    yzl_clock_delay_s(1);
//    yzl_1306_soft_light_level_screen(&i2c,64);
//    yzl_clock_delay_s(1);
//    yzl_1306_soft_light_level_screen(&i2c,32);
//    yzl_clock_delay_s(1);
//    yzl_1306_soft_light_level_screen(&i2c,16);
//    yzl_clock_delay_s(1);
//    yzl_1306_soft_close(&i2c);

//    yzl_1306_soft_open(&l_i2c);
//    yzl_clock_delay_s(2);
//    yzl_1306_soft_close(&l_i2c);
//
//
for(uint16_t i=0;i<60;i++){
    int16_t xyz[3]={0,0,0};
    yzl_mpu6050_soft_read_acc(&l_i2c,(uint16_t*)xyz);
    int16_t gxyz[3]={0,0,0};
    yzl_mpu6050_soft_read_gyro(&l_i2c,(uint16_t*)gxyz);
    char *bu=yzu_str_format("X:%d gX:%d\nY:%d gY:%d\nZ:%d gZ:%d",xyz[0],gxyz[0],xyz[1],gxyz[1],xyz[2],gxyz[2]);
    viewDemo->mText1->setText((utf8 *)bu);
    vTaskDelay(500);
}

//    addDialog("TEST");

//    delay_ms(5);
//    uint8_t param[2]={0x00,0x10};
//    uint8_t writeData[4]={0x00,0x20,0x40,0x00};
//    YZF_RESULT re=yzl_softport_i2c_param_write(&i2c,0b1010000,param,2,writeData,4);
//    uint8_t da[4];
//    delay_ms(5);
//    re=yzl_softport_i2c_read(&i2c,0b1010000,param,2,da,4);
//    if((*(uint32_t *)da)==(*(uint32_t *)writeData)){
//        addDialog("Check Success");
//    }else{
//        addDialog("Check Error");
//    }
    yz_recv_transmit_reset();
    return YZF_OK;
}